import keras


class ModelConfig(object):
    detection_num_classes = 2
    segmentation_num_classes = 2
    input_shape = (512, 512, 3)
    height = width = input_shape[0]
    depth = input_shape[2]
    data_dir = None
    # train_tfrecord_dir = 'D:\herschel\\navigation\\tf_records\\fine_combine_train.record'
    # val_tfrecord_dir = 'D:\herschel\\navigation\\tf_records\\fine_combine_val.record'
    train_tfrecord_dir = 'D:\herschel\\navigation\\tf_records\\cl_train.record'
    val_tfrecord_dir = 'D:\herschel\\navigation\\tf_records\\cl_val.record'
    interest_label = [6, 7, 8, 9, 10]  # road/flat/sidewalk etc.
    min_scale = 0.5
    max_scale = 2.0
    bn_decay = 0.9997
    num_image = {
        'train': 3985,
        'validation': 1500,
    }


class TrainingConfig(object):
    freeze_backbone = True
    multi_gpu = 1
    optimizer = keras.optimizers.adam(lr=1e-5, clipnorm=0.001)